(1) Field of the Invention
This invention relates to a three-dimensional shape display program, three-dimensional shape display method, and three-dimensional shape display apparatus for displaying the shape of an object in a three-dimensional space and, more particularly, to a three-dimensional shape display program, three-dimensional shape display method, and three-dimensional shape display apparatus for reproducing an original shape on the basis of compressed data.
(2) Description of the Related Art
In recent years various parts have generally been represented in a three-dimensional space by three-dimensional computer-aided design (CAD). For example, each of parts which make up a machine having a complex structure is represented by three-dimensional CAD data. As a result, by collecting CAD data (solid model) for individual parts, processes, such as an assembly examination, a layout examination, and an interference examination, can be performed easily on a computer. Such processes are called a digital mock-up and are widely used especially in the automobile and aviation industries.
Usually precise representation using highly accurate geometry and topology is used for three-dimensional CAD data. Furthermore, the three-dimensional CAD data includes constraints and a shape generation history for parametric deformation. The three-dimensional CAD data also includes display data for increasing its display speed. Therefore, a large amount of data is handled in three-dimensional CAD and a vast amount of data is necessary for preparing a digital mock-up by collecting parts. As a result, a vast amount of data must be processed even in the case of displaying only a three-dimensional shape without editing data.
In order to solve this problem, in the automobile and aviation industries CAD data is converted into display polygon data, such as virtual reality modeling language (VRML) data, and is displayed by a viewer used exclusively for digital mock-ups. By using the display polygon data, the process of checking a shape can be performed easily.
However, CAD data has recently become more detailed (the amount of data has increased because of more precise definition). As a result, the progress of hardware and software cannot keep up with this change and it has become difficult to handle the whole of a product even by the use of a dedicated viewer. For example, CAD data indicative of the structure of an automotive engine is converted into 0.5 to 1 gigabyte of display polygon data with an error of 0.1 mm. This means that CAD data indicative of the structure of an automobile will be converted into a total of 10 gigabytes or more of display polygon data. Accordingly, a computer which executes the viewer needs a large capacity memory and hard disk drive for storing the display polygon data.
Therefore, techniques for compressing display data indicative of a three-dimensional shape are proposed. For example, a method using a Bezier's triangular patch or Gregory patch (lattice=XVL) is proposed. By using such a method, the amount of data stored in the hard disk drive can be reduced. However, when data is read into a memory, it is converted into polygon data. Accordingly, the amount of data stored in the memory does not reduce. On the other hand, there is a method for holding a compressed three-dimensional shape in a memory and subdividing a polygon according to a display scale. This method is called a subdivision method. When a display scale is high, the probability that many parts will be outside the field of view (screen) is high. Accordingly, a central processing unit (CPU) resource saved by using view frustum culling (technique for omitting objects outside the field of view) can be allocated for polygon subdivision calculation. This is the reason why the subdivision method is appropriate.
An example of the subdivision method is disclosed in U.S. Pat. No. 6,222,553. In this invention, control points for a non-uniform rational B-spline (NURBS) curve or the like are used for representation. An original shape is subdivided by lines drawn from an intermediate point of a curve that forms the shape to the other edges of the shape.
With the conventional subdivision method, the amount of space in a memory to be used and file size can be reduced. However, the load on a computer caused by polygon subdivision calculation will increase significantly. In addition, a data compression effect by the conventional subdivision method is not sufficient to collaborate on a large amount of data from remote locations by the use of the world wide web or the like.
In the invention disclosed in U.S. Pat. No. 6,222,553, for example, to subdivide a shape by lines drawn from an intermediate point of a curve to the other edges of the shape, all of the edges will be subdivided even if an edge (straight edge, for example) which does not need to be subdivided is included. As a result, unnecessary subdivision is performed and the processing load increases. Furthermore, control points for a NURBS curve or the like must be set for every edge. This will contribute to an increase in the amount of data.